機器學習的再興:統計學習與資料探勘(1990s - 2010)
從「知識驅動」走向「資料驅動」
經歷過兩次的起落,人工智慧(AI)的發展在1990年代迎來了另一個關鍵的轉捩點:統計學習(Statistical Learning)和資料探勘(Data Mining)的興起,並促使AI領域的研究轉向資料驅動(data driven)的方法。
如同前面提過的,第一波由感知元(Perceptron)等早期神經網路模型帶來的 AI 興起與衰落,導致人工智慧的研究重心轉向了以邏輯和知識為基礎的方法,也造成了人工智慧與機器學習(Machine Learning, ML)之間出現了分歧。然而到了1980年代中期,由於專家系統一樣未能兌現大眾對其過度膨脹的期望,帶來了第二次AI寒冬。而這次的挫折,促使 AI 領域又一次重新思考未來研究的方向。
1988年,IBM T.J. Watson 研究中心的科學家們發表了「語言翻譯的統計方法」(A Statistical Approach to Language Translation),標誌著機器翻譯從基於規則的方法轉向機率方法的關鍵轉變。這種新方法強調從資料中的統計型態學習,而不是試圖理解語言本身。
從過去的經驗中,大家知道 AI 的目標應當從「實現人工智慧」轉變為「解決實際的問題」。而專家系統背後符號邏輯方法的受挫,讓機率論和統計學的方法與模型獲得了重視。正是在這個背景下,1990年代開始,機器學習從知識驅動的方法轉向了資料驅動的方法,重新崛起,並且蓬勃發展。
1990年代,科學家們開始開發程式,讓電腦分析大量的資料,並且從結果中得出結論或「學習」。與傳統統計分析需要事先選擇模型,並基於專家經驗來選擇變量不同,機器學習不依賴預先架構的模型,而是透過演算法在資料中尋找潛在結構來塑造模型:輸入的資料越多,模型就越精確。
在這段期間,許多基於資料驅動思維的演算法被提出,其中最廣為使用的三個方向有:核函數(Kernel Methods)支援向量機(Support Vector Machines, SVMs),決策樹(Decision Trees)與集成學習(Ensemble learning),和貝氏網路(Baysian Networks),我們在第一章已經簡短的做過介紹。
同一時期,儘管人工神經網路的研究在1970年代一度衰落,但1980年代中期反向傳播(backpropagation)演算法的重新發明(由David Rumelhart、Geoffrey Hinton和Ronald Williams發表)使其在1990年代重新又開始發展。
機器學習在1990年代的成功,大部分要歸因於網際網路的發展。數位資料的持續增長以及透過網際網路分享服務的能力,為機器學習提供了豐富的「訓練資料」。由於機器學習演算法透過「資料」自動建立數學模型,進而形成無需人類知識介入即可做出決策的系統,故而這種大規模資料的可用性,是「資料驅動」方法崛起的重要推動力。
核函數(Kernel methods)與支援向量機 (Support Vector Machines, SVMs)
支援向量機是一種同時可以用於分類(classification)和迴歸(regression)的監督式學習(supervised learning)方法。它們在1990年代因其強大的性能而嶄露頭角並普及。
SVM 將每個特徵向量視為高維空間中的一個點,並繪製一條線(或一個超平面,hyperplane)來區分具有正標籤和負標籤的資料點。這個分離兩個類別範例的邊界被稱為決策邊界(decision boundary)。SVM 的目標是找到一個能最大化兩個類別資料之間邊界(margin)的超平面。這個邊界是距離兩類最近的範例之間的距離,更大的邊界有助於讓模型遇到新的資料點時,能夠有更好的泛化能力,做出正確的判斷。
原始SVM演算法是由蘇聯數學家弗拉基米爾·瓦普尼克(Владимир Наумович Вапник)和亞歷克塞·澤范蘭傑斯(Алексей Яковлевич Червоненкис)於1963年發明的,在數學上與邏輯迴歸(Logistic Regression)相似,尋找的是單純的線性決策邊界。1992年,伯恩哈德·E·博瑟(Bernhard E. Boser)、伊莎貝爾·M·蓋昂(Isabelle M. Guyon)和瓦普尼克提出了一種加入核函數技巧,讓 SVM 得以構建非線性的超平面。核函數可以將原始輸入資料映射到一個高維度的特徵空間,使得資料在該空間中變得可以被線性分離。如此一來,即使在原始空間中資料不是線性可分的,也能透過核技巧找到一個非線性的決策邊界。
SVM 的決策規則僅基於訓練資料的一小部分子集—「支援向量」(support vectors),這使得遠離超平面的觀測結果(outliers)對 SVM 的決策結果影響很小,也使得 SVM 具有相當的穩健性(robustness)。
決策樹 (Decision Trees)與集成學習 (Ensemble learning)
決策樹(Decision Trees)是一種使用樹狀結構作為預測模型的學習方法,依據變量的數值來判斷走向那一個分支,最後的終點則是預測的結果。這個結果可以是類別的標籤、數值,或是機率,因此決策樹可以處理分類和迴歸兩種問題。
決策樹的每個節點使用的變量和分枝的標準,都是由資料中學習而來,其建構過程通常採用一種「由上而下」(top-down)、貪婪(greedy)的方法,稱為遞迴二元分割(recursive binary splitting)。它從樹的頂端開始,然後逐步分割自變量形成的向量空間;每次分割都透過樹中更深處的兩個新分支來表示。這個過程會持續進行,直到達到停止條件為止,例如直到沒有區域包含少於一定數量的觀測值。
決策樹的優點在於它非常容易向人們解釋,甚至比線性迴歸更容易。它們可以用圖形化來顯示,即使非專家也能輕鬆理解。決策樹能夠輕鬆處理類別的自變量,而無需像線性迴歸一樣建立虛擬變數。但它的缺點也非常明顯:它的預測準確度通常不如其它演算法,而且決策樹在穩健性上不甚可靠(non-robust),資料中的微小變化可能導致最終估計的樹發生巨大變化。
儘管決策樹在單獨使用時存在諸多缺點,但透過集成學習(ensemble learning)方法(如Bagging 和 Boosting),將許多決策樹聚合起來,其預測性能可以得到顯著提升。
Leo Breiman 於 2001 年在《Random Forest》一文中描述了一種結合 bagging,利用決策樹演算法來構建一個包含很多彼此不相關的樹,也就是森林,的方法。這個被稱為隨機森林的演算法,在數學上有堅實的理論證明,在實務上也有良好的表現,使得決策樹成為集成學習方法中很常用的「弱學習器」(weak learners)成員。
貝氏網路 (Bayesian Networks)
貝氏網路(Bayesian network),也稱為信念網路(belief network)或有向無環圖模型(directed acyclic graphical model),是一種機率圖形模型,表示一組隨機變數及其條件獨立性。
貝氏網路可以表示變數之間的機率關係,圖中的節點表示隨機變數,它們可以是實際觀察到的變數,也可以是理論假設中的潛在變量、未知參數等等。連接兩個節點的箭頭,代表此兩個隨機變數是具有因果關係,其中一個節點是「因(parents)」,另一個是「果(descendants or children)」,彼此之間有一個條件機率值;而兩個節點間若沒有箭頭相互連接,則代表彼此間為條件獨立。
舉例來說,我們可以用貝氏網路可來表示疾病和其相關症狀間的機率關係;倘若已知某些症狀,就可以用這個網路模型來計算罹患各種疾病的機率。
基於貝氏網路的衍生模型很多,例如條件隨機場(Conditional Random Field, CRF)和隱馬可夫模型(Hidden Markov Model, HMM)等等,常用於自然語言處理和圖像處理等領域。除了計算速度較慢之外,貝氏網路紮根於機率論和統計學,符合1990年代以來的大趨勢;而以圖的形式來表示因果關係,容易與理論和專家知識相結合,也符合之前專家系統的思維方式。因此,貝氏網路一直是 AI 領域中重要的一個分支。
總體而言,1990年代AI的發展,正是在專家系統的局限性下,轉向了更依賴資料、統計學和機率的方法。SVMs、決策樹和貝氏網路的興起,標誌著AI開始透過從大量的資料中學習來解決實際問題,而非僅僅依賴人類專家的知識,為後續人工智慧的黃金時代奠定了堅實的基礎。